HTTP 動態流式傳輸或 HDS 是Adobe 開發的一種自適應比特率流式傳輸方法。HDS 通過HTTP連接提供 MP4 視頻內容。HDS 可用于點播流式傳輸或實時流式傳輸。由于它們是通過 HTTP 交付的,因此 HDS 流可以被緩存——通過內容交付網絡 ( CDN ) 或另一個緩存服務器。
HDS 是為與 Adob??e Flash Player 和 Adob??e AIR 一起使用而開發的。Adobe Flash Player 已停產,現在有一家外部公司支持 AIR 而不是 Adob??e。Apple 設備不支持 HDS。
什么是 Adob??e Flash Player?
Adobe Flash Player 是一個用于播放視頻內容的瀏覽器插件。多年來,Flash 插件是最普遍的將視頻嵌入網頁的方式。然而,在HTML5 視頻元素發布后,Flash 不再是嵌入視頻的主要選擇。此外,Flash 有許多安全漏洞,使其變得危險。(例如,幾個 Flash 漏洞允許攻擊者在某人的瀏覽器中執行他們想要的任何代碼。)
多年來,瀏覽器和操作系統逐漸放棄對 Flash 的支持,以避免發生安全事件。最后,Adobe 于 2020 年 12 月 31 日停止支持 Flash Player。
HDS 流媒體如何工作?
創建和交付 HDS 流的過程大致為:
- 服務器:在通過 HDS 流式傳輸視頻文件之前,必須將它們從常規 MP4 轉換為 F4F(分段 MP4)文件格式。F4F 視頻文件包含音頻、視頻和元數據。因為文件是“碎片化的”,所以這三個元素可以彼此分開存儲。
- HDS 視頻使用H.264 編碼,這是一種常見的編碼標準。與許多其他流媒體技術一樣,HDS 以多個質量級別對視頻文件的版本進行編碼,并將視頻分成幾秒鐘長的較短片段。這使得自適應比特率流成為可能(在下面了解更多信息)。
- 分發: HDS 視頻片段被推送到通過 Internet 請求流的客戶端設備。CDN 通常有助于分發流,同時緩存流以更快地提供服務。
- 客戶端:請求流的設備使用包含在元數據中的視頻清單文件作為按順序組合和播放視頻片段的參考。它還可以根據需要更改圖像質量。
什么是清單文件?
可以將清單文件與組裝模型飛機的一組說明進行比較。方向指示每個部件的去向,使擁有模型套件的人能夠自己制造飛機。
類似地,視頻的清單文件告訴播放視頻的客戶端設備(例如用戶的筆記本電腦或智能手機)如何按順序組裝視頻片段、如何加載音頻文件、存儲字幕的位置等等。這允許客戶端設備正確地構建和播放視頻。
清單文件存儲在視頻元數據中。文件的“元數據”是關于文件其余部分的信息。
什么是自適應比特率流?
自適應比特率流是一種允許視頻播放器根據網絡條件調整視頻質量級別的技術。如果網絡連接運行緩慢,則播放器會加載質量較低的視頻片段,而這些視頻片段可以更快地加載。如果網絡連接性能更好,則播放器會加載高清視頻。這些調整是在視頻播放時進行的。
自適應比特率流式傳輸是可能的,因為流式傳輸視頻被分成多個片段并以幾個不??同的質量級別進行編碼。因此,播放器可以為每個視頻片段從多個質量級別中進行選擇。在每個片段之后,玩家可以根據需要切換到更高或更低的質量級別。
HDS 使用自適應比特率流,類似名稱的HTTP 實時流 (HLS)也是如此。
HLS 與 HDS:有什么區別?
HLS 是使用最廣泛的流協議之一。HLS 最初是由 Apple 開發的專有流媒體協議,盡管此后它已成為一個開放標準。Apple 設備仍僅支持 HLS。
這兩種流媒體方法之間的一個重要區別是,HDS 的支持和采用不如 HLS 廣泛。截至 2021 年,Apple 占據了全球智能手機市場近四分之一的份額,因此使用 HDS 會減少大量潛在觀眾。事實上,HDS 是為與已停產的 Adob??e Flash 一起使用而設計的。今天,相對較少的觀眾可能擁有可以播放 HDS 流的設備。